package com.ysd.order.mapper;

import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.ysd.common.entity.Orders;
import com.ysd.common.utils.OrdersVo;

@Mapper
public interface OrdersMapper {

	/**
	 * 查询所有订单信息
	 * 
	 * @param ordersVo 用于条件查询+分页创建的工具实体类
	 * @return
	 */
	ArrayList<Orders> showAll(OrdersVo ordersVo);

	/**
	 * 查询所有订单信息的条数
	 * 
	 * @param ordersVo 用于条件查询+分页创建的工具实体类
	 * @return
	 */
	int showCounts(OrdersVo ordersVo);

	/**
	 * 修改订单信息
	 * 
	 * @param orders 一个订单对象
	 * @return
	 */
	int update(Orders orders);

	/**
	 * 修改订单的状态（待发货->待收货）
	 * 
	 * @param id 订单的编号
	 * @return
	 */
	int updateFH(@Param("id") int id);
	
	/**
	 * 创建订单
	 * @param orders  订单的相关信息
	 * @return
	 */
	int insert(Orders orders);
	/**
	 * 删除订单（前台用户在付款前可以取消订单）
	 * @param id 订单的编号
	 * @return
	 */
	int delete(@Param("id")int id);
	/**
	 * 根据订单的id查询订单详情（ext1字段）
	 * @param id 你要查询的订单详情的订单编号
	 * @return
	 */
	String showInfoById(@Param("id")int id);
	
	
	/**
	 * 查询（近一周，一月）任何时间的流水
	 * 查询最近七天每天的订单成交额度
	 */
	List<Orders> showAllByFuKuanTime();

	/**
	 * 根据订单编号修改订单的状态（由待付款——》待发货）
	 */
	int updateFK(@Param("id")int id);
}
